// Arup Guha
// 1/7/2010
// Similar to the ThreeDimensionalPoint class from Cohoon&Davidson

public class ThreeDimensionalPoint extends Point {
	
	protected int z;
	
	public ThreeDimensionalPoint() {
		System.out.println("Default 3D Point Constructor");
		z = 0;
	}
	
	public ThreeDimensionalPoint(int a, int b,int c) {
		super(a,b);
		System.out.println("Regular 3D Point Constructor");
		z = c;
	}
	
	public void translate(int dx, int dy, int dz) {
		System.out.println("3D Point translate");
		translate(dx, dy);
		z += dz;
	}
	
	public String toString() {
		return getClass() + "["  + x + "," + y + "," + z + "]";
	}
	
	public boolean equals(Object v) {
		//System.out.println("3D Point equals");
		if (v instanceof ThreeDimensionalPoint) {
			ThreeDimensionalPoint p = (ThreeDimensionalPoint)v;
			return super.equals(p) && p.z == z;
		}
		
		return false;
	}
	
	public Object clone() {
		return new ThreeDimensionalPoint(x,y,z);
	}
}